package com.uiot.gen.core;

import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;

import javax.sql.DataSource;

/**
 * 
 * 在数据库表有任何变动时，运行一下 main 方法，极速响应变化进行代码重构
 */
public class _JFinalGenerator {
	
	public static DataSource getDataSource() {
		DruidPlugin druidPlugin = createDruidPlugin();
		druidPlugin.start();
		return druidPlugin.getDataSource();
	}

    public static DruidPlugin createDruidPlugin() {
        Prop p = PropKit.use("config-dev.txt");
        DruidPlugin druidPlugin = new DruidPlugin(p.get("jdbcUrl"), p.get("userName"), p.get("password").trim());
        return druidPlugin;
    }

    public static void initActiveRecordPlugin() {
        DruidPlugin druidPlugin = createDruidPlugin();

        ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
        arp.setDevMode(true);
        arp.setShowSql(true);
        // 添加 sql 模板文件，实际开发时将 sql 文件放在 src/main/resources 下
        //arp.addSqlTemplate("/test.sql");
        // 先启动 druidPlugin，后启动 arp
        druidPlugin.start();
        arp.start();
    }
}




